package com.thinkgem.jeesite.modules.gen.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.thinkgem.jeesite.kpoint.core.base.KpointBaseService;
import com.thinkgem.jeesite.modules.gen.dao.GenProjectModuleMapper;
import com.thinkgem.jeesite.modules.gen.entity.GenProjectModule;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 项目配置Service
 *
 * @author kongxiangsheng
 * @version 2018-11-05
 */
@Service
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class GenProjectModuleService extends KpointBaseService<GenProjectModuleMapper, GenProjectModule> {

    /**
     * 根据父表主键查询
     *
     * @param genProjectId
     * @return
     */
    public List<GenProjectModule> getByGenProjectId(String genProjectId) {
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq(GenProjectModule.COL_PROJECT_ID, genProjectId);
        return this.list(queryWrapper);
    }

    /**
     * 根据父表主键删除
     *
     * @param genProjectId
     * @return
     */
    public int deleteByGenProjectId(String genProjectId) {
        QueryWrapper<GenProjectModule> queryWrapper = new QueryWrapper();
        queryWrapper.eq(GenProjectModule.COL_PROJECT_ID, genProjectId);
        return this.baseMapper.delete(queryWrapper);
    }

    /**
     * 获取某项目的所有模块（字典）
     *
     * @param genProjectId
     * @return
     */
    public List<GenProjectModule> getModulesDict(String genProjectId) {
        QueryWrapper queryWrapper = new QueryWrapper<GenProjectModule>();
        queryWrapper.select(GenProjectModule.COL_ID, GenProjectModule.COL_MODULE_CODE, GenProjectModule.COL_MODULE_NAME);
        queryWrapper.eq(GenProjectModule.COL_PROJECT_ID, genProjectId);
        return this.list(queryWrapper);
    }

    public String getModulePackage(String moduleId) {
        return this.baseMapper.getModulePackage(moduleId);
    }

}